 Ext.define('aps.proyectoGrid', {
    extend: 'Ext.grid.Panel',
    alias : 'aps.proyectoGrid',
    
    name:       'proyecto_grid',
    autoScroll: true,
    border:     false,
    height:     320,
    forceFit:   true,
    
    initComponent: function() {
        var self   = this;
        this.store = Ext.create('aps.proyectoConsultaStore');
        this.layout = {
            type:  'fit',
            align: 'center'
        };
        this.columns = [
            { header: 'Id', flex: 0, dataIndex: 'id'},
            { header: 'Nombre del Proyecto', flex: 0, dataIndex: 'nombre' },
            { header: 'Descripcion', flex: 0, dataIndex: 'descripcion'},
            { header: 'Fecha de Inicio', flex: 0, dataIndex: 'fechainicio' },
            { header: 'Fecha de Fin', flex: 0, dataIndex: 'fechafin' },
            { header: 'Estado', flex: 0, dataIndex: 'estado' }
        ];
        this.tbar = Ext.create('Ext.PagingToolbar', {
            store: this.store,
            displayInfo: true,
            displayMsg: 'Total de elementos : {2}',
            emptyMsg:   "<b>No hay datos que mostrar</b>",
            items: ['-',{
                xtype:   'button',
                grid:    self,
                text:    '<b>Miembros del Proyecto<b>',
                id:      'consulta_usuarios_btn_grid',
                iconCls: 'details-icon',
                handler: this.form_usuario_x_proyecto_handler
            },
            {
                xtype:   'button',
                grid:    self,
                text:    '<b>Miembros del Comite<b>',
                id:      'consulta_usuarios__comite_btn_grid',
                iconCls: 'details-icon',
                handler: this.form_usuario_x_proyecto_comite_handler
            },
            {
                xtype:   'button',
                grid:    self,
                text:    '<b>Ver roles<b>',
                id:      'consulta_roles_btn_grid_1',
                iconCls: 'details-icon',
                handler: this.form_rol_x_proyecto_handler
            }/*,{
                xtype:   'button',
                grid:    self,
                text:    '<b>Ver Historial<b>',
                id:      'consulta_historial_proyecto_btn_grid',
                iconCls: 'details-icon',
                handler: this.form_historial_x_proyecto_handler
            },{
                xtype:   'button',
                grid:    self,
                text:    '<b>Informe<b>',
                id:      'consulta_informe_proyecto_btn_grid',
                iconCls: 'details-icon',
                handler: this.form_informe_proyecto_handler
            }*/]
        }),
        this.callParent(arguments);
    },
    
    form_rol_x_proyecto_handler : function(){
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un registro');
        }
        else{
            var id_proyecto = records[0].data.id;
            var panel   = Ext.create('aps.RolPorProyectoPanel');
            panel.items.getAt(0).setValue(id_proyecto);
            panel.llenar_grid();
            
            var win = Ext.create('Ext.Window',{
                modal :     true,
                autoScroll: true,
                height:     '80%',
                width:      '80%',
                frame:      false,
                border:     false,
                items:      [panel]
            });
            win.show();
        }
   },
   form_usuario_x_proyecto_handler : function(){
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un registro');
        }
        else{
            var id_proyecto = records[0].data.id;
            var panel   = Ext.create('aps.UsuarioPorProyectoPanel');
            panel.items.getAt(0).setValue(id_proyecto);
            panel.llenar_grid();
            
            var win = Ext.create('Ext.Window',{
                modal :     true,
                autoScroll: true,
                height:     '80%',
                width:      '80%',
                frame:      false,
                border:     false,
                items:      [panel]
            });
            win.show();
        }
   },form_usuario_x_proyecto_comite_handler : function(){
       var records = this.grid.getSelectionModel().getSelection();
       if(records == null || records.length == 0){
           Ext.Msg.alert('ERROR','Debe seleccionar un registro');
       }
       else{
           var id_proyecto = records[0].data.id;
           var panel   = Ext.create('aps.UsuarioPorProyectoComitePanel');
           panel.items.getAt(0).setValue(id_proyecto);
           panel.llenar_grid();
           
           var win = Ext.create('Ext.Window',{
               modal :     true,
               autoScroll: true,
               height:     '80%',
               width:      '80%',
               frame:      false,
               border:     false,
               items:      [panel]
           });
           win.show();
       }
  },
   
   form_historial_x_proyecto_handler : function(){
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un registro');
        }
        else{
            var panel = Ext.create('aps.HistorialPanel');
            panel.items.getAt(0).store.load({
                params : {
                    idproyecto : records[0].data.id,
                    idfase :     0,
                    iditem :     0,
                }
            });
            var win = Ext.create('Ext.Window',{
                title:     'HISTORIAL',
                height:    '90%',
                width:     '90%',
                modal:     true,
                frame:     false,
                border:    true,
                resizable: false,
                items:     [panel]
            }).show();
        }
    },
    
    form_informe_proyecto_handler : function(){
        var records = this.grid.getSelectionModel().getSelection();
        if(records == null || records.length == 0){
            Ext.Msg.alert('ERROR','Debe seleccionar un proyecto para ver el informe.');
        }
        else{
            var idproyecto = records[0].data.id;
            var win = window.open('/generar_informe_proyecto?idproyecto=' + idproyecto,'_newtab');
        }
    }
});
